Ni es todo lo que está, ni está todo lo que es...
23

Efecto Toggle en los gadgets de la sidebar

Parece que últimamente todos nos pusimos de acuerdo en preguntar de qué forma se consigue el efecto deslizante en los gadgets de la sidebar, en concreto el de Directorios. Así que vamos a explicarlo y los interesados ya pueden ponerse manos a la obra.
El efecto deslizante se consigue con las API de Google. El API de bibliotecas AJAX carga las bibliotecas JavaScript de software libre más populares entre ellas Prototype y Scriptaculous, eso nos evita buscar alojamientos externos y su funcionamiento es mucho más rápido.
Vamos a necesitar Prototype y Acriptaculous y las añadiríamos justo antes de </head> lo siguiente:

<script src="http://www.google.com/jsapi"></script>
<script>
google.load("prototype","1.6.0.3");
google.load("scriptaculous", "1.8.2");
</script>

Con anterioridad lo añadimos en los siguientes ejemplos (si ya lo tuviéramos no es necesario volver a añadirlo)

Ir a inicio con efecto deslizante
"Imagen multiusos"
Subir y bajar con efecto deslizante
Efecto deslizante en los archivos de la sidebar

Para crear el efecto deslizante en los directorios o cualquier otro gadget lo que haremos será añadir un título al gadget para localizarlo con más facilidad.
En plantilla de Edición de HTML los gadgets se muestran como widgets más o menos así:

<div id='sidebar-wrapper'>
<b:section class='sidebar' id='sidebar' preferred='yes'>
<b:widget id='HTML1' locked='false' title='Directorios' type='HTML'/>
<b:widget otro gadget/>
<b:widget otro gadget/>
<b:widget otro gadget/>
</b:section>
</div>

Si marcamos para expandir la plantilla veremos que a cada widget le preceden unas líneas, en ellas veremos la etiqueta <data:title/> es la que genera el título del gadget.
Añadiremos Effect.toggle de Scriptaculous que nos permite mostrar y ocultar con distintos efectos cualquier contenido.
En nuestro código añadiremos lo marcado en negrita:

<b:widget id='HTML1' locked='false' title='Directorios' type='HTML'>
<b:includable id='main'>
<a href='#' onclick='Effect.toggle(&quot;Directorios&quot;,&quot; appear &quot;); return false'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != &quot;&quot;'>
<h2 class='title'>[+/-]<data:title/></h2>
</b:if>
</a><div align='center' id='Directorios' style='display: none;'>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>

Debemos tener en cuenta que cada id debe ser único, si ya tenemos un id llamado Directorios no podemos crear otro con el mismo nombre.
El título, hace las veces de enlace, no hay problema si no deseamos añadir [+/-]porque seguirá funcionando. Si preferimos sustituirlo por una imagen es conveniente sea tipo icono para que el tamaño no se vea desproporcionado.
<img src="url-imagen"/>
También podemos situarlo a la derecha del título, es decir a la derecha de <data:title/>

Rosa explicó en su momento la forma de añadir el efecto slide en cualquier gadget incluidas las etiquetas.
Visitando a J.Miur podemos ver en sus ejemplos los distintos efectos que podemos añadir appear, slide o blind .
appear es el que viene definido en los pasos que seguimos anteriormente si deseamos cualquier otro simplemente debemos sustituir el nombre del efecto que en el código está marcado con fondo azul, como ejemplo sería algo así:
DEMO con appear






23 opiniones:

Filigrana

Hola Gema tanto tiempo! Que lindo efecto, ya probaré agregarlo!
Besos!

Dña. Urraca

Gema si Prototype y Acriptaculous lo has añadido ya para otra cosa, ¿hay que volver a añadirlos?

Gem@

yz Hola Filigrana ¡mucho tiempo! ¿cómo van esos diseños? :)

yz No, Dña. Urraca co una vez es suficiente :)

ElMundodeLaria

Hola Gema, de nuevo por aqui para que me eches un cablecillo XD(aunque no es sobre este tema)
El problema es que no consigo que la imagen del footer quede por encima, se queda por detrás (si ves el blog lo entenderas mejor)seguramente sea sencillo, pero no doy con la solución, me he quedado atascada en eso jeje.

Bueno, gracias de antemano guapa.

Un abrazo.

Gem@

yz ElMundodeLaria lo primero de todo deberías añadir algún post de prueba para ver el efecto que produce una vez hay contenido.
Pienso que el problema está que añadiste en main una medida establecida para la transparencia cuando tiende a ir tomando más altura conforme vamos actualizando el blog.
En la sidebar es otra cosa porque una vez tenemos la sidebar "llena" no la cambiamos con frecuencia.
Si ese valor:
margin-bottom: -32768px;
padding-bottom: 32768px;
lo eliminas provisionalmente e incluyes alguna entrada podemos ver como queda la imagen del footer en realidad ;)

Eulalia

No consigo que me salga este efecto. Solo consigo volver arriba pero el gadget no se abre.
He probado a quitarle el # a ver si así, pero tampoco. Lo probé primero en Tuneando, pero como allí tengo varios trucos aplicados y en el blog de Rosa vi que alguien decía que era incompatible con algun otro script lo borré. Pero hoy lo he probado en el directorio de Tutoriales, donde no hay absolutamente ningun otro script en el código y tampoco me funciona.
¿A que puede ser debido?
Gracias guapa.

Gem@

yz Eulalia, estuve mirando el blog pero sé donde lo añadiste si me indicas lo miro ;)

Eulalia

Hola, lo quité porqué no lograba que se abriera el gadget.
Todo lo que hay en ese blog son gadgets LinkList, hay mas de 20, y estaba en el LinkList1 la de los consejos para el ordenador.
Lo volveré a poner, así ves tu misma qué pasa.
Por cierto, en mis blogs suelo trabajar con explorer y no pensé en mirar si con firefox funcionaba.
Un abrazo.

Eulalia

Ya está. colocado y sigue sin abrirse en Explorer ni en Firefox. El gadget se titula Para tu ordenador (Windows XP) He copiado el código tal cual lo das en esta entrada, he añadido los scripts de las librerias, y nada, me lleva arriba.
Un abrazo.

Gem@

yz Voy a verlo Eulalia y ya de paso te contesto a mail :)

lk

no sale :( seguiré buscando qué anda mal. qué desastre!

Gem@

yz lk pero en tu blog no lo hiciste siguiendo estos pasos, intenta seguir los mismos de la otra vez.

lk

no, lo voy a hacer es pasar la plantilla íntegra al blog de pruebas y luego hacerlo en un blog en el que aun no lo he hecho y comparar los resultados. es la única manera. creo!

lk

no, gem@, acabo de hacer los pasos uno por uno en soupcouture y cuando clico en DIRCETORIOS, me voy para arriba, no se despliega. no sé si es porque no está en la sidebar... está abajo de todo del blog. en fin. no sé.

Gem@

yz Prueba a añadir el último </div> antes de </b:includable>

Alexnex

Hola gem@, andon co un problemón... jaja, estoy intentando agregar a este efecto en mi blog, resulta que cambié de opinión. Te había comentado que queria agregar el efecto slide en imágenes para banners, ahora resulta que se me presentó otra urgencia :D quiero agregarlo en unas etiquetas que al presionar el título se desplacen hacia abajo... hace mucho leí que se puede hacer ese efecto pero no recuerdo bien donde... :$
Ahora bien, el problema se me presenta cuando coloco el código de los scripts sobre /head. cuando lo hago se me borran algunos widgets como por ejemplo el de los seguidores...
quisiera preguntarte sobre este tema y que si puedes pases por mi blog. es la etiqueta "Artistas" las que quiero poner en desplegable, y por supuesto, que se mantengan mis pocos seguidores a la vista. ;)

Nafire

hola como va? yo sigo con la plantilla, tengo una duda y no si este efecto me va a servir pongamos que quiero poner todos los blogs que leo mi blogroll pongamos 45 pero solo quiero que se vean 20 y el resto que se vean si se aprieta algo como mostrar mas o algo asi con este sistema que has explicado lo hace o es de otra forma porque voy loca buscando y no encuentro la solución y solo quiero poner letras porque no puedo recargar la plantilla con muchas cosas porque al final me voy a quedar como la que tengo ahora pero mas grande y lo del fotter como te conte un saludo espero que estes bien.

Nafire

No digas nada je je no me sirve porque el scriptaculous ese o como se llame hace que no se me vean algunos gadgets que porque? a saber :D soy yo y mis mundos ya le puse buen nombre al blog ya je je un saludo

Gem@

yz Alexnex que dejen de visualizarse algunos gadgets puede ser porque usas otra librería, jQuery o similar y crea conflictos una con otra.
Hace unos días vi una entrada de Iván donde explica como utilizar librerías distintas puedes verla
Si por el contrario no usas otra librería intenta añadir el script antes de </body> para ver si ocurre lo mismo.
Si no entiendo mal deseas añadir el efecto en el título de las etiquetas de forma que se puedan mostrar y ocultar presionando el título "Artistas"
En esta misma entrada al final dejo enlace al blog de Rosa donde explica como añadir el efecto slide a las etiquetas ;)

yz Nafire quizás tu caso sea como le comento a Alexnex y estás utilizando otra librería,te digo lo mismo sobre ese tema intenta añadir el script antes de </body> (está al final) quizás la entrada de Iván te sea de ayuda para utilizar dos librerías distintas.
No te culpes, seguro que la culpa la tiene Blogger :)

Nafire

Gracias gema me lo miraré en ponerlo antes de body porque no uso ninguna otra libreria es de la plantilla que por fin termine y si la miras no tiene mucha complicación y esto ya me pasaba solo con lo justo que le puse en el de pruebas por cierto sigue desapareciendo tu banner cuando quiere je je si tienes un poltergeist donde lo tienes alojado no es culpa mía je je un saludo y gracias.

Alexnex

Gracias Gem@... soy un descuidado, no leí lo de la entrada al blog de Rosa, disculpa... :$

Gem@

yz ¿Descuidado por eso? ahhh entonces yo también soy una descuidada :)

Gem@

yz Veamos si así funciona Nafire, lo de mi banner se está convirtiendo en un tema raro, raro, raro... nadie más me comenta ese problema :O

Si tu perfil no está activado añade la url del blog, es imprescindible para poder ayudarte. ¡GRACIAS!

:) :'( :( :P :D :$ ;) :-I :X :O |O :S

 

© 2009 » Gem@ BLOG » Plantilla base Minima de Blogger

inicio